----------------------------
-[ Vintage Dreams Tileset ]-
----------------------------
Version: 0.2.0 Beta


----------------------------
-[   Table of contents    ]-
----------------------------
Beta Information

- more coming soon(tm) -

Script Configuration
Example Screens
Damage and Ring Changes
Enemy Changes
Subscreen
Scripting
Discord Server
Legal
Credits

----------------------------


----------------------------
-[      Beta Notice       ]-
----------------------------
The tileset is currently work in progress. As such it's recommended
that you don't start any major projects in it. This is due to bugs
that probably have yet to be taken care of. Furthermore, structure
within the tileset may change in the future, which means that forward
porting your work could end up hard and/or impossible.

You have been warned.

----------------------------


----------------------------
-[  Script Configuration  ]-
----------------------------
The tileset comes packed in with quite a few scripted features for
authors to use. However, how to actually put them to use might not
be obvious. This section will go over certain scripts on a case by
case basis on how to configure them.

A good rule of thumb is to look at the example screens and inspect
the FFCs to see how they are configured there. (Or just copy the FFCs
to paste on your own screen!)

Table:
----------
[FFC]
DynamicKeyCube
GB_Shutter
GBDungeonCliff
HQ_RoomMusic / HQ_BossMusic
McGuffinGlow
NPCScript
SeedTree
SimpleSecretCube

[Item]
Rapier
RupeeShot

[Enemy]
NewbieBoss
----------




----------

----------


[Set-up]:

[Limitations]:

<-------->



-<-[FFC]->--------------------------------------------------------<-[FFC]->-

----------
DynamicKeyCube
----------
This is for Retrivable Keys, think of them as global keys but they can only be used for these cubes.
Stand near the cube to use..., and if the cube already has a key in it, you'll take it back out again!
Doing so will unset the screens secret state too, which lets you create a bunch of puzzling scenarios.

[Set-up]:
D0: The counter reference for your retrivable keys. 26 is the base standard for this in VD.
    This does mean that you in theory could have one which wants a bomb instead or something.
    You could also have multiple different brands of retrivable keys in your quest to!

[Limitations]:
When you retrive the key the keystate for the room will be unset (and for any other screens if you
use screen state carryover). However, objects on the screen will be manually unset by the script
untill you re-enter the screen. This means that in potential edge case scenarios it will not work
as intended.

<-------->


----------
GB_Shutter
----------
GB shutter doors replication made by Moosh. They are to be placed at the edges of a screen.
If using the regular secret based variation, you need to put a secret combo flag on the combo
under where the shutter is placed.


[Set-up]:
D0: Set to 0 to make it open when the secret combo underneath changes.
D0: Set to 1 to have it open when all enemies are dead.
D1: Set to 1 if it should stay open permanently once opened.


[Limitations]:
Generally has to be on the edge of the screen to work.

<-------->


----------
GBDungeonCliff
----------
Let's you jump down walls from higher levels in a dungeon. You need ONE of this FFC
per screen, per wall type. See example configurations.

[Set-up]:
D0: The Combo ID number of the first combo of four in a row that make up the dungeon walls 
you can jump down from.


[Limitations]:
The ID stored on the FFC will not dynamically change if you insert combos into the 
combo pages above the dungeon walls. This is super important to keep in mind!

<-------->


----------
HQ_RoomMusic & HQ_BossMusic:
----------
Plays enhanced music (read: non-midi music) on the screen it's placed on. 
The Boss music variant switches back to the Dmap track if all enemies on the screen are dead.


[Set-up]: 
D0 argument is the *DMap* that the enhanced music data will be drawn from.


[Limitations]:
The fairy item that moves around the screen is considered an NPC/Enemy by the engine.
The script does not account for this, so it will keep playing Boss music if it's on screen.

<-------->


----------
McGuffinGlow
----------
This script causes the first item of the screen (generally the regular screen item) to
float and glow. When Link gets on top of where the FFC running the script is placed, 
the item will move towards Link and an animation will play followed by a string,
followed by side warp 1 activating.


[Set-up]: 
D0 argument is the string that will be called during the cutscene.


[Limitations]: 
The FFC needs to be placed south of the item, and the item can't be placed
too close to the top edge of the screen.

<-------->


----------
NPCScript
----------
NPCs that you can talk to as well has have run scripts for you! Has a wide range
options for it so it can be a bit bulky to configure.

[Set-up]:
D0: Set this to the string that should play when you talk to the NPC.
D1: Set this to the item that makes the NPC disappear. 
    Make the number negative to make the NPC appear when you have the item instead.
D2: Set to X number to set NPC type, possible choices are:
 0: None. (Does nothing special)
 1: Faces Link when you get close. (The FFC's combo should be the first of four facing: Up, Down, Left, Right)
 2: Follows Link on the X-Axis
 3: Follows Link on the Y-Axis
D3: Argument 1 for the NPC's movement type, based on D2 value it does:
 0: Nothing.
 1: Face Link mode: insert the number of the default direction the NPC should face. (0 to 3, 4 for custom).
 2: Insert the number for minimum X position in tiles.
 3: Insert the number for minimum Y position in tiles.
D4: Argument 2 for the NPC's movement type, based on D2 value it does:
 0: Nothing.
 1: Face Link mode: Distance in pixels at which the NPC will turn to face Link. (32 is a good default).
 2: Insert the number for Maximum X position in tiles.
 3: Insert the number for Maximum Y position in tiles.
D5: Set this to 1 if you don't want the NPC to be solid.
D6: Set this to a number greater than 0 to call that FFC script when you talk to the NPC.
D7: Set to 1 to enable Layering. If Link is north of the NPC it will draw above him and weapons,
    but not if you're south of the NPC. This can look bad on certain screens and set-ups.


[Limitations]:
For solidity to work properly the screen need to have a unique layer/screen set as layer 1. 
This is because that's where the script sets up it's solidity.

Pain in the ass to remember how to set it up. 
I recommend bookmarking: ( https://www.purezc.net/index.php?page=scripts&id=149 ).

<-------->


----------
SeedTree
----------
Oracle style seed trees (with proper seeds). They can in theory bear fruit to any item, 
so yes, you can now have heart containers literally growing on trees.
They serve as a warp point for gale seeds and need their own unique ID though.
The easiest way to do this is just to copy the trees from map 0.
Each tree there is unique, and there is two of each kind of seeds (and some misc).

[Set-up]:
D0: Item ID of the seed refill item that grows on the tree.
D1: A unique ID for the tree (0-15) that tells it which warp to use.
D2: A string number for the name of the tree as it should appear in the warps list when you warp with a Gale Seed.

[Limitations]:
Max warp points of 16 (0-15), that should be fine for the majorityof cases, but keep it in mind.

<-------->


----------
SimpleSecretCube
----------
Being near it and pressing A activates it and triggers the screen secret (permanently).
The only requirement is...

[Set-up]:
D0: The item you need to have in your inventory to activate it. It will animate above the FFC when used.
    Think of it like the keyholes in the overworld in the GB games!

[Limitations]:

<-------->




-<-[Item]->------------------------------------------------------<-[Item]->-

----------
Rapier
----------
Naming convention might be odd, but this is the spear weapon class.
It does not interact much with the world other than dealing damage.
Now you too can enjoy a weapon with full feature lenght! :D

[Set-up]:
D0: Damage the weapon will do. This needs to be *double* of what you'd
    normally put for weapon damage in Zelda Quest.
D1: Special move damage. If this is 0 the weapon will not have a charge move.
    Note: The script does not come with one so will have to script that yourself!
D2: What sprite ID the weapon will use. For tile configuration see tile pages.
D3: What item ID the it has in the item editor. It should be right there for you
    when you make one.
D4: What SFX plays when used. Might seem redundant I guess but hey, it's a feature.
D5: How long reach the weapon has, there are three options:
 0: It will have around the same reach as a stabby sword. (Putting 1 is the same as 0!)
 2: It will be half a tile longer.
 3: Another half tile longer.
    The longer you make it the less time it will rest at its peak lenght.

[Limitations]:
No charge move exists for it at this time.

<-------->

----------
RupeeShot
----------
Rupee slingshot script, very simplistic in nature. Rupees act as arrows
and should hit regular arrow triggers just fine.
Pros: Good replacement for rupee shooting bow that makes a bit more sense!

[Set-up]:
D0: Damage the weapon will do. This needs to be *double* of what you'd
    normally put for weapon damage in Zelda Quest.
D1: Rupee cost to shoot.
D2: The sprite of the projectile shot.
D3: Velocity of the projectile.
D4: Sound effect to play when shooting.

[Limitations]:
None, the gates are open, you can climb all the way to the top!

<-------->


-<-[Enemy]->----------------------------------------------------<-[Enemy]->-

----------
NewbieBoss
----------
Custom boss module made by Moosh, optimized for customization in Zelda Quest.
Uses AutoGhost, so if you want to make one you just make the enemy type "Other"
and type in the script ID number (98) in Attribute 12.

[Set-up]:
There is way too many configuration steps to list here, I recommend going
to this page for reference: ( https://www.purezc.net/index.php?page=scripts&id=269 ).

[Limitations]:

<-------->



----------------------------
-[    Example Screens     ]-
----------------------------
This quest comes with a wide variety of example screens. Feel free to
use them as you see fit.

Feel free to clear it all out if you don't want it. Pro tip: Setting
map count to 1 clears all maps after 1.


-this section to be expanded-

----------------------------


----------------------------
-[Damage and Ring Changes ]-
----------------------------
To offer more defence scaling options, you now start with 
the half damage reduction Ring per default (2x).

This does not actually make anything easier since all enemies now 
deal double damage, effectively making this change "useless".
The point of it is to be able to offer improved ring/defence options.


A whole bunch of new rings were added to offer this:
Brown 	(1x) Less than default, basically an easy way to make a 
		double damage mode. (Same as no Ring at all, btw).
Green 	(2X) Standard starting point, basically the same as Z1 no-ring.
Pink 	(3x) A defence tier upgrade between green and blue!
Blue	(4x) Standard Z1 Blue ring in scaling.
Silver	(6x) A armour upgrade between Blue and Red. Half damage from
		the Pink ring.
Red	(8x) Standard Z1 Red ring in scaling.
Purple	(12x) The purple one is situated between the Red and Gold one.
Gold	(16x) The Zelda Classic Gold ring in scaling. Personally I
		recommend never using this.
Dark	(-) No damage. Could be useful for beta testing / etc.


Should you want even more granularity you can add more rings for any
given integer that is missing (a (5x) ring between Blue and Silver,
for example).

The first armour upgrade in ZC is the half damage one, which is a
bit extreme, and can make it hard to balance around it. Especially
if you also want to use the red ring which quarters damage. (There
are reasons why you seldom use this type of defence upgrade in
games). So the extra options here should be useful I feel.

----------------------------


----------------------------
-[     Enemy Changes      ]-
----------------------------
This tileset contains a fair bit of enemy tweaks from standard
Zelda Classic. It's quite a bit of information so it's located in
it's own file.

See: EnemyChangeLog.z
Note that this is not actually a script file, it's just using
that formatting to make it easier to read in text editors
that supports collapsing.

----------------------------


----------------------------
-[       Subscreen        ]-
----------------------------
If you wish to use the Buggy Scripted subscreen in 2.53 or earlier, see
earlier tileset beta builds. Otherwise, stay tuned for the 2.55 release!


----------------------------


----------------------------
-[       Scripting        ]-
----------------------------
If you want to mess with the scripts for the tileset, the main file is:

Vintage_Dreams_Codebase.z

You'll find it in the codebase folder. Said script file contains a lot
of nice script information, such as what script is assigned to what
flag/sprite/ID/etc. (That info is at the bottom). Some script files
most likely contain edits that makes them different from the (pure) database
version of said script. So do note that.

-this section to be expanded-


----------------------------


----------------------------
-[    Discord Server      ]-
----------------------------
The Vintage Dreams Community has a discord server!
It's a community dedicate to retro games, zelda classic, and
just all around being comfy. Tileset updates as well as work in
progress screenshots are posted there.

Furthermore, this is the ideal place to fill bug reports, as well
as new feature suggestions!

You can join using this link: https://discord.gg/0fsLef6NoR9VZ1XI

Note that if your name is new within the Zelda Classic scene then it's 
most likely ideal if you state so when joining! Due to the amount of
trolls trying to join discord servers some safety messures are in place.

----------------------------


----------------------------
-[         Legal          ]-
----------------------------
This tileset is offered in an as-is state, and none of the authors
offers any guarantee for support for anything. All material in this
tileset is owned by their own respective owners, as such it's up to
the users of this tileset to know those. The users of this tileset
bare any legal trouble that may come from using assets in this tileset
that they do not have the rights to.

Furthermore, the tileset itself is offered under non-commercial grounds.
One or several of the content creators of this tileset have legal
qualms with their work being used for profit.

You're free to distribute the tileset as long as it contains all files
in an unmodified state. Derivative tilesets, etc, of the Vintage
Dreams Tileset is acceptable as long as they don't use Vintage Dreams
branding, and as long as all material from it is credited properly.

----------------------------


----------------------------
-[        Credits         ]-
----------------------------

---------
Authors:
---------
Shane
Lunaria


---------
Previous Tileset (EZGBZ 2.5):
---------
Lightwulf
Akkabus


---------
Graphics:
---------
Shane
Lunaria
HammerGuy
Lightwulf
Cjc
Three Pendants
Nolornbon


---------
Scripts:
---------
Lunaria
Moosh
Saffith
Nimono
Jamian
Obderhode
MoscowModder
Justin
Zepinho
SUCCESSOR
Mero
a30502355
Alucard648
aaa2


---------
SFX:
---------
HelpTheWretched


---------
Zelda/Oracle Series:
---------
Nintendo
Capcom


----------------------------


